import { IPSDEFFormItem } from '../../control/form/ipsdefform-item';
import { IPSDEFieldObject } from './ipsdefield-object';

/**
 *
 * 子接口类型识别属性[]
 * @export
 * @interface IPSDEFUIMode
 */
export interface IPSDEFUIMode extends IPSDEFieldObject {
  /**
   * 代码标识
   * @type {string}
   */
  codeName: string;

  /**
   * 属性表单项模式
   *
   * @type {IPSDEFFormItem}
   */
  getPSDEFFormItem(): IPSDEFFormItem | null;

  /**
   * 属性表单项模式
   *
   * @type {IPSDEFFormItem}
   */
  get psDEFFormItem(): IPSDEFFormItem | null;

  /**
   * 属性表单项模式（必须存在）
   *
   * @type {IPSDEFFormItem}
   */
  getPSDEFFormItemMust(): IPSDEFFormItem;

  /**
   * 应用模式
   * @description 值模式 [实体属性界面模式] {DEFAULT：默认模式、 CUSTOM：用户自定义、 MOBILEDEFAULT：移动端默认模式、 APPDEFAULT：应用默认模式、 MODE1：模式1、 MODE2：模式2、 MODE3：模式3、 MODE4：模式4、 MODE5：模式5、 MODE6：模式6、 MODE7：模式7、 MODE8：模式8、 MODE9：模式9 }
   * @type {( string | 'DEFAULT' | 'CUSTOM' | 'MOBILEDEFAULT' | 'APPDEFAULT' | 'MODE1' | 'MODE2' | 'MODE3' | 'MODE4' | 'MODE5' | 'MODE6' | 'MODE7' | 'MODE8' | 'MODE9')}
   */
  type: string | 'DEFAULT' | 'CUSTOM' | 'MOBILEDEFAULT' | 'APPDEFAULT' | 'MODE1' | 'MODE2' | 'MODE3' | 'MODE4' | 'MODE5' | 'MODE6' | 'MODE7' | 'MODE8' | 'MODE9';

  /**
   * 移动端模式
   * @type {boolean}
   * @default false
   */
  mobileMode: boolean;
}
